在建置ELB前,我們先多做一個步驟去完成昨天URL重寫的步驟。
步驟 10 更改S3的bucket policy
承接昨天步驟9,我們還需要更改S3內的bucket policy,才能讓S3的檔案透過CloudFront,產生相對應的URL。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::BUCKET_NAME/*"
]
}
]
}
此時,圖片連結會對應到CloudFront上URL,而非static的URL。
步驟 11 建立Application Load Balancer (ALB)
在EC2的服務介面左側,我們選擇Load Balancer。
點選"Create Load Balancer"
在三個Load Balancer的選項中,根據我們網站服務需求,點選Application Load Balancer。
幫ALB取個名字
選擇要要進行分流的區域(AZ,Availability Zone)。
選擇跟我們目前運作網站機器同樣的security group。
點選"Create Target Group"
在Target Group的設定中,選擇Instances為Target類型。
命名Target Group名稱和選擇通訊協定的版本。
定義透過哪一個檔案來進行healthy check。
在進階的設定選項中,定義要進行連續幾次的health check,確認機器從unhealthy轉變成healthy(這邊案例是2次);以及連續幾次的health check,才可確認機器已經從healthy轉變為unhealthy(這邊是3次)。此外,也要定義連續幾秒鐘機器沒有反應,才被定義為unhealthy的狀態。(timeout)
接著將運行網站用的機器,進行註冊。也就是我們會去監測此台機器的健康狀態,適時去執行分流,確保網站都可以穩定運作。
完成以上步驟後,就可以建立Load Balancer了。